Блог компании Os_Engine |Большой алготрейдинг прекрасен, и это OsEngine. А стране нужны программисты из предметной области.

Почти неделю в Москве. Попал сюда в пургу на чёрной машине. Сквозь туман, снег, гололёд и приключения. Как доктор хренпойми каких наук из низкобюджетного фильма, вызванный в пентагон, чтобы спасти вселенную.

 Большой алготрейдинг прекрасен, и это OsEngine. А стране нужны программисты из предметной области.

 

Заканчиваю интеграцию робота арбитражника для фьючей на коммодитиз (Москва/Китай) для очень крупной компании экспортёра в РФ.

И вот, значит, вечер. Я и Топ менеджер, только что вернувшийся с выступления Путина. Стоим и смотрим на Москву сверху вниз, из его нескромного офиса.

– ты когда уедешь, может посоветуешь мне программиста на поддержку?

— эээ. Давай лучше я буду поддерживать пока. Посоветовать мне некого.

 

Большой алготрейдинг — это тебе не питонирование.

Чтобы участвовать в чём-то таком, знания Метатрейдера, ТсЛаб или Питона недостаточно и даже бессмысленно (вредно). Подключая вторую ногу из Китая, пришлось написать 2 тыщи строк кода на С++. Сделать сервер на С++ и связать его с клиентами на СиШарп. Всё это очень сложно и может быть сделано только настоящими программистами. Т.ч. учите СиШарп и то, как делать к OsEngine коннекторы. Иначе в Москва-сити не попасть.



( Читать дальше )

Блог компании Os_Engine |Стандарты кода #1. Создание переменных. Коннекторы к OsEngine #20

В этой статье поговорим о том, как правильно создавать переменные внутри коннектора. А вернее про то, как это делать не нужно, чтобы не генерировать баги.

Запрет на создание полей и свойств для объектов во время создания объекта.

Стандарты кода #1. Создание переменных. Коннекторы к OsEngine #20 
Рис. 1. Как не надо создавать переменные. 

Подобный способ создания класса приведёт к следующим проблемам:

1)      В случае перехвата ошибки отладчик не будет указывать на строку проблемы.

2)      В случае пошаговой отладки невозможно будет определить быстро, в каком месте какая переменная откуда берётся, и где кроется ошибка.

3)      В данном конкретном примере также возникнут проблемы с выбором некоторых перечислений, т.к. вариантов несколько, а использовать адекватно IF с отладкой не выйдет.



( Читать дальше )

Блог компании Os_Engine |Последний шанс попасть на Митап сообщества OsEngine в Москве.

Девятого числа, в субботу собирается наше сообщество. Встречаемся в офисе АЛОР. Продолжаем в баре на Шаболовке. Подробности можно прочитать здесь: https://smart-lab.ru/company/os_engine/blog/965467.php

Последний шанс попасть на Митап сообщества OsEngine в Москве.

Билеты за 2.5 т.р. закончились в течении суток. Мне жаль, но полноформатную конференцию мне организовывать в данный момент некогда. Не раньше следующего лета. Надеюсь на понимание.

 

Остались следующие виды билетов:

-  4 благотворительных за 20 т.р. С которых 85% суммы будут переданы в «Динской социально-реабилитационный центр для несовершеннолетних»

—  1 мегаблаготворительный билет за 100 т.р., 97 % от цены которого будут переданы в «Динской социально-реабилитационный центр для несовершеннолетних»

 

Друзья. Я в Вас верю.

Появилось ещё одно внезапное правило: На входе, придётся подписать договор о неразглашении информации.

Правило это касается в том числе и моей поездки. В теме моего выступления номер два и три. Мне в любом случае придётся этого коснуться, и мне бы не хотелось, чтобы информация о текущем нашем заказчике куда-то попала в паблик.



( Читать дальше )

Блог компании Os_Engine |ServerRealization, конечная логика коннектора. Коннекторы к OsEngine #19

Сегодня поговорим про месторасположение конечной логики коннектора. То место, где надо написать 98% кода, когда делаешь новый коннектор. Это класс ServerRealization.

Вновь возвращаемся к упрощённой схеме работы с конечной реализацией сервера:

 ServerRealization, конечная логика коннектора. Коннекторы к OsEngine #19

 

1. Это часть AServer.

 

Первое, что надо создать в конструкторе любого коннектора, это IServerRealization. Класс с конечной логикой коннектора:



( Читать дальше )

Блог компании Os_Engine |IServer и AServer. Коннекторы к OsEngine #18

Сегодня поговорим про разницу между IServer (интерфейс) и AServer (абстрактный класс) внутри Os Engine. Зачем они в проекте и как появились?


Это часть серии постов «Коннекторы к OsEngine», в которой мы с нашими читателями учимся быть не просто алготрейдерами, но и настоящими программистами, а многие из них станут ими, навсегда, изменив свою жизнь к лучшему.  Пролетарии СмартЛаба, присоединяйтесь!

Упрощённая схема работы с конечной реализацией сервера из любого робота в OsEngine:

IServer и AServer. Коннекторы к OsEngine #18

 

1 IServer.

IServer – интерфейс для доступа к реализациям серверов почти во всём проекте. Нужен для того, чтобы унифицировать методы и свойства, нужные для роботов и OsData.

 



( Читать дальше )

Блог компании Os_Engine |Стандарты кода. Введение. Коннекторы к OsEngine #17

Проект OsEngine открытый и публичный. Так вышло, что многие его части писали разные люди. И дальше будет больше кода, написанного разными людьми.

Разные люди пишут код совершенно по-разному. Если Вы читаете это до того, как стали «крутым» программистом, возможно это звучит странно, но поверьте, всегда есть от 10 до 100 способов справиться с задачей.

Данная серия постов, «стандарты написания кода», призывает всех тех, кто занимается созданием кода в проекте, соблюдать определённые правила.

 Стандарты кода. Введение. Коннекторы к OsEngine #17

 

Но прежде, чем начинать, давайте пройдёмся ещё раз по тому, как именно пишется наш проект. Чтобы Вы понимали, насколько это важно.

 

Как писалось ядро OsEngine.

Так же, как и у всех остальных подобных проектов, ядро OsEngine создавалось одним человеком.

Ядро это:

  1. Примитивы;
  2. Слои совместимости;
  3. Слои инверсий зависимостей для интеграции расширений в будущем;
  4. Слои создания роботов;
  5. Источники для слоя создания роботов;
  6. Слои создания индикаторов;
  7. Слои тестирования функциональности модулей.


( Читать дальше )

Блог компании Os_Engine |Закрытый митАп сообщества OsEngine в Москве

Москва… Никогда к ней не привыкну. Такая высокая, что здания уходят в облака. А из окон видно птиц и Воронеж… Трудно в этом признаваться, но я соскучился!

В субботу выезжаю на интеграцию проекта для наших дорогих нефтяников. Буду изучать Москва-сити дальше. В МСК от 7 до 10 дней. Надо бы собраться...

Чтобы не было никому обидно, сделаем это в один день, а то пить неделю я уже не смогу как раньше с каждым по отдельности. Во-первых, в завязке) Во-вторых, с супругой) В-третьих я старею (а это уже без шуток). Поэтому собираемся один раз. 9го числа и все вместе.

 

 Закрытый митАп сообщества OsEngine в Москве

При этом как это не грустно, но это последняя наша встреча в таком формате. Шестая или восьмая уже, даже и не вспомню. Но точно последняя.

Мы из МитАпов давно уже выросли. Билеты щас закончатся минут за 20 я думаю (но это не точно). Да и мне сцену пора освобождать для других. Со следующего года только полноформатные конференции, где на сцене будут алго из сообщества. А я буду сидеть за сценой.

А это – наше прощание с холостяцкой жизнью) Мальчишник, если хотите, после чего будем переходить к более серьёзным форматам.



( Читать дальше )

Блог компании Os_Engine |Как используются и где хранятся коннекторы. Коннекторы к OsEngine #16

Вводная статья по архитектуре сервера в Os Engine. В ней мы поговорим про то, каким образом коннекторы используются в OsEngine глобально. Каким подсистемам они нужны.

Для этого будем подглядывать на первую картинку и смотреть в исходный код OsEngine.

 Как используются и где хранятся коннекторы. Коннекторы к OsEngine #16

 

1 ServerMaster

 



( Читать дальше )

Блог компании Os_Engine |Как правильно сдать коннектор? Коннекторы к OsEngine № 15.

Кол-во участников в нашем Open Source сообществе растёт, что очень радует. Однако, уже сейчас точно понятно, что работать над коннекторами к OsEngine будут совершенно разные люди. И начинающие и суперпродвинутые.

При этом делать надо всё хорошо! Делать для себя, для начинающих алго, больших и маленьких. Делать надо от души!

А чтобы получилось у разных по подготовке людей и от души, что надо? Правильно!

Ввести демократию и всем вместе отменить правила!

Свод правил от человека, который в этом понимает.

Так Вы сможете быть уверенными в том, что делаете всё правильно. Так будут довольны пользователи.

И в этой статье поговорим о том, что надо будет сделать, чтобы сдать коннектор в OsEngine.

 Как правильно сдать коннектор? Коннекторы к OsEngine № 15.

Задачи перед нами стоит две:

1)     Сделать для OsEngine классные подключения, работающие.

2)     Дать сообществу OsEngine стимул для роста. Чтобы люди из сообщества планомерно развились в этом процессе. Чтобы кто-то из них остался на поддержке. Кто-то стал программистом.



( Читать дальше )

Блог компании Os_Engine |Проектная занятость для тех, кто будет делать коннекторы. Коннекторы к OsEngine #14

Из тех людей, которые будут делать коннекторы к OsEngine, мы соберём отдел разработки софта на заказ. Это произойдёт к осени / зиме 2024 года.

 Проектная занятость для тех, кто будет делать коннекторы. Коннекторы к OsEngine #14

Минимум три человека нужны в этот отдел.

  1. ТимЛид, который сможет и писать код и обрабатывать входящие письма. Заполнять CRM и следить за процессами. Быть менеджером команды.
  2. Два программиста.

 

2022 год и связанные с этим «вынужденные» отъезды программистов за рубеж

Забрали мой отдел разработки софта на заказ целиком. Когда я это пишу, меня это очень печалит. Но Вам, когда Вы это читаете, должно быть от этого очень хорошо!

Как говорил наш Президент: «Сбежавшие всё потеряют, а те, кто остался, займут все ниши». Кажется, это сейчас и произойдёт.

Ведь в этот раз я решил наладить отдел разработки на удалёнке, и из тех, кто будет сейчас учиться делать коннекторы к OsEngine.

 

Проблема такая.

Так или иначе, обработка дорогостоящих заказов связана с изменением OsEngine или с написанием новых коннекторов. По факту, всего несколько человек из всего сообщества сейчас на это способны. И передать никуда никого из клиентов я не могу. Просто людям отказываю.



( Читать дальше )

....все тэги
UPDONW
Новый дизайн